Testing software is a routine part of software development. Typically, when an application or other piece of software needs to be tested, a manual test case is created. In many cases, it is desirable to automate the testing process. Automation allows the test case to be run automatically against the application under test. This allows the test to be repeatedly run at many different times and at all hours of the day without a human tester having to manually execute the test steps.
In order to automate the test case, however, a quality assurance (QA) engineer must write the scripts in a given programming language for the manual test case. Writing code for test scripts can be a very time consuming and labor intensive process. Moreover, there can be errors in the test scripts themselves because we all make mistakes. For example, the QA engineer may make a mistake with the programming syntax or there may be logic errors in the code. As a result, the application may not be properly tested and may be released with bugs or other defects. For example, the application may not manage memory correctly leading to memory leak, which in turn can exhaust available system memory and reduce the performance of the computer.
There is a need for improved systems and techniques for creating automated test scripts.
The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions.